/* 
 * Copyright [2018] [Alex/libo(liboms@hotmail.com)]
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.hyts.apidoc.model;

import java.util.List;

/** 
 * @title ApiDoc.java  
 * @package com.hyts.apidoc.model  
 * @description API文档总体入口操作类  用于处理单次总体API文档的对象 
 * @see {@link com.hyts.apidoc.model.ApiDefination} api模型核心对象
 * @author libo/Alex
 * @email liboms@hotmail.com/liboware@163.com  
 * @date 2018-4-18 
 * @version V1.0 
 */
public final class ApiDoc {

	/**  
	 * <p>api类级别文档的名称：用于作为一个全局的名称-可以作为一个类名称：也可以自定义名称</p> 
	 * @fieldName apiTypeName
	 * @fieldType String
	 */ 
	private String apiTypeName;	
	
	/**  
	 * <p>{字段的描述}</p> 
	 * @fieldName author
	 * @fieldType String
	 */ 
	private String author;
	
	/**  
	 * <p>{字段的描述}</p> 
	 * @fieldName date
	 * @fieldType String
	 */ 
	private String date;
	
	/**  
	 * <p>{字段的描述}</p> 
	 * @fieldName version
	 * @fieldType String
	 */ 
	private String version;
	
	/**  
	 * <p>api文档信息描述</p> 
	 * @fieldName apiDescription
	 * @fieldType String
	 */ 
	private String apiDescription;
	
	/**  
	 * <p>{字段的描述}</p> 
	 * @fieldName packageName
	 * @fieldType String
	 */ 
	private String packageName;
	
	/**  
	 * <p>api文档定义列表一个type内部的-类type</p> 
	 * @fieldName apiDefinationList
	 * @fieldType List<ApiDefination>
	 */ 
	private List<ApiDefination> apiDefinationList;

	/**  
	 * @name apiTypeName's getter method
	 * @param none
	 * @return apiTypeName
	 */
	public String getApiTypeName() {
		return apiTypeName;
	}

	/**  
	 * @name apiTypeName's setter method
	 * @param apiTypeName
	 * @return void
	 */
	public void setApiTypeName(String apiTypeName) {
		this.apiTypeName = apiTypeName;
	}

	/**  
	 * @name apiDefinationList's getter method
	 * @param none
	 * @return apiDefinationList
	 */
	public List<ApiDefination> getApiDefinationList() {
		return apiDefinationList;
	}

	/**  
	 * @name apiDefinationList's setter method
	 * @param apiDefinationList
	 * @return void
	 */
	public void setApiDefinationList(List<ApiDefination> apiDefinationList) {
		this.apiDefinationList = apiDefinationList;
	}

	/**  
	 * @name apiDescription's getter method
	 * @param none
	 * @return apiDescription
	 */
	public String getApiDescription() {
		return apiDescription;
	}

	/**  
	 * @name apiDescription's setter method
	 * @param apiDescription
	 * @return void
	 */
	public void setApiDescription(String apiDescription) {
		this.apiDescription = apiDescription;
	}

	/**  
	 * @name author's getter method
	 * @param none
	 * @return author
	 */
	public String getAuthor() {
		return author;
	}

	/**  
	 * @name author's setter method
	 * @param author
	 * @return void
	 */
	public void setAuthor(String author) {
		this.author = author;
	}

	/**  
	 * @name date's getter method
	 * @param none
	 * @return date
	 */
	public String getDate() {
		return date;
	}

	/**  
	 * @name date's setter method
	 * @param date
	 * @return void
	 */
	public void setDate(String date) {
		this.date = date;
	}

	/**  
	 * @name version's getter method
	 * @param none
	 * @return version
	 */
	public String getVersion() {
		return version;
	}

	/**  
	 * @name version's setter method
	 * @param version
	 * @return void
	 */
	public void setVersion(String version) {
		this.version = version;
	}

	/**  
	 * @name packageName's getter method
	 * @param none
	 * @return packageName
	 */
	public String getPackageName() {
		return packageName;
	}

	/**  
	 * @name packageName's setter method
	 * @param packageName
	 * @return void
	 */
	public void setPackageName(String packageName) {
		this.packageName = packageName;
	}

	/* (非 Javadoc)
	 * <b>TODO(方法功能的描述)-  toString </b>
	 * <p>TODO(这里用一句话描述这个方法的作用)</p>
	 * @return
	 * @see java.lang.Object#toString()  
	 * @exception
	 */ 
	
	@Override
	public String toString() {
		return "ApiDoc [apiTypeName=" + apiTypeName + ", author=" + author + ", date=" + date + ", version=" + version
				+ ", apiDescription=" + apiDescription + ", packageName=" + packageName + ", apiDefinationList="
				+ apiDefinationList + "]";
	}
	
}
